//******************************************************************/
//SD卡插入检测
//V0.1		2019-01-20		yshao	
//******************************************************************/
`timescale	1ps/1ps
module sd_cd_dect(
		input	wire		resetb,
                input	wire		sclk,
 		input	wire		t_ms_sync,
               
		input	wire		sd_cd,
		
		output	reg		sd_valid,
		
		output	wire	[15:0]	tout
		);

//**************************************************************
//		信号定义
//**************************************************************
reg	[2:0]	sd_cd_t;
reg	[3:0]	sd_ms_cnt;

//**************************************************************
//		接收数据沿变换
//**************************************************************
always @(posedge sclk)
	sd_cd_t	<= {sd_cd_t[1:0], sd_cd};
	
always @(posedge sclk or negedge resetb)
	if (resetb==0)
		sd_ms_cnt<=0;
	else if ((sd_cd_t[2:1]==2'b01) || (sd_cd_t[2:1]==2'b10))
		sd_ms_cnt<=0;
	else if ((t_ms_sync == 1) && (sd_ms_cnt[3] == 0))
		sd_ms_cnt <= sd_ms_cnt + 1;
		
always @(posedge sclk or negedge resetb)
	if(resetb==0)
		sd_valid <= 0;
	else if(sd_ms_cnt[3] == 1)
		sd_valid <= ~sd_cd_t[2];

//always @( * )
//	sd_valid <= ~sd_cd;

//**************************************************************
//		测试信号输出
//**************************************************************
assign	tout = {16'h0};

endmodule